package com.limegroup.gnutella; import junit.framework.TestCase; import org.limewire.net.ConnectionDispatcher; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Key; import com.google.inject.Provider; import com.google.inject.name.Names; public class LimeWireCoreModuleTest extends TestCase { public void testConnectionDispatcher() { Injector injector = Guice.createInjector(new LimeWireCoreModule(ActivityCallbackAdapter.class)); ConnectionDispatcher globalInstance = injector.getInstance(Key.get(ConnectionDispatcher.class, Names.named("global"))); ConnectionDispatcher localInstance = injector.getInstance(Key.get(ConnectionDispatcher.class, Names.named("local"))); assertNotSame(globalInstance, localInstance); Provider<ConnectionDispatcher> localProvider = injector.getProvider(Key.get(ConnectionDispatcher.class, Names.named("local"))); assertSame(localInstance, localProvider.get()); assertSame(localProvider.get(), localProvider.get()); Provider<ConnectionDispatcher> globalProvider = injector.getProvider(Key.get(ConnectionDispatcher.class, Names.named("global"))); assertSame(globalInstance, globalProvider.get()); assertSame(globalProvider.get(), globalProvider.get()); } }